/**
 * 关卡数据管理类
 */
class LevelDataManager {

	// 声明一个数组，用来保存所有的关卡数据
	private item: LevelDataItem[] = [];

	// 声明单例
	private static shared: LevelDataManager;
	public static Shared(): LevelDataManager {
		if(LevelDataManager.shared == null) {
			LevelDataManager.shared = new LevelDataManager();
		}
		return LevelDataManager.shared;
	}

	public constructor() {
		// 加载所有的关卡数据
		this.item = RES.getRes('questions_json');
	}

	/**
	 * 获取关卡的数量
	 */
	public getLevelsNum(): number {
		return this.item.length;
	}

	/**
	 * 通过关卡号获取该关卡的数据
	 */
	public getLevel(level: number): LevelDataItem{
		if(level < 0) {
			level = 0;
		}else if(level >= this.getLevelsNum()){
			level = this.getLevelsNum() - 1;
		}

		// 通过数据下标访问数据
		return this.item[level];
	}

	/**
	 * 前端数据存取：cookies，localStorage，web数据库
	 * Android存取数据：preferrence存档，文件存储，sqllite数据
	 */

	/**
	 * 获取当前游戏最远的进度
	 * 
	 * 我们通过egret提供给我们的本地存储工具
	 */
	public get MileStone(): number{
		// localStorage以字符串的方式存储
		var mileStone = egret.localStorage.getItem('guessWord');
		if(mileStone == '' || mileStone == null) {
			mileStone = '1';
		}
		return parseInt(mileStone);
	}

	// 设置当前游戏的最远进度
	public set MileStone(val: number) {
		egret.localStorage.setItem('guessWord',val.toString());
	}
	
}

// 每个关卡的模型数据（model）
class LevelDataItem { 
	public answer: string;
	public img: string;
	public word: string;
	public tip: string;
	public content: string;
}